package com.baizw.cultivation.util;

import cn.hutool.core.io.FileUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.util.ResourceUtils;

import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;

/**
 * 图片工具类
 *
 * @author 剧终1204
 * @version V1.0
 * @date 2020年06月16日 9:58
 */
@Slf4j
public class ImgUtil extends cn.hutool.core.img.ImgUtil {

    /**
     * 将Base64图片转化为byte数组
     *
     * @param base64Img base64图片
     * @return byte[]
     */
    public static byte[] base64ToByteArray(String base64Img) {
        ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
        try {
            BufferedImage bufferedImage = toImage(base64Img);
            ImageIO.write(bufferedImage, cn.hutool.core.img.ImgUtil.IMAGE_TYPE_JPEG, outputStream);
            return outputStream.toByteArray();
        } catch (IOException e) {
            log.error("图片转化失败", e);
            return null;
        }
    }

    /**
     * 获取默认头像byte[]
     *
     * @return byte[]
     */
    public static byte[] getDefaultAvatar() {
        try {
            File file = ResourceUtils.getFile("classpath:image/avatar.jpg");
            if (file.exists()) {
                return FileUtil.readBytes(file);
            }
            log.error("默认头像不存在");
            return null;
        } catch (FileNotFoundException e) {
            log.error("默认头像不存在", e);
            return null;
        }
    }

}
